#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <string>
#include <sys/types.h>
using namespace std;

void Usage(string proc)
{
    cout << "Usage:\n\t" << proc << "signum pid\n\n";
}

void myhandler(int signo)
{
    cout << "process get a signal: " << signo << endl;
    //exit(1);
}
int main()
{
    signal(6, myhandler);
    int cnt = 5;
    while(true)
    {
        cout << "I am a process, pid: " << getpid() << endl;
        sleep(1);
        cnt--;
        //if(cnt == 0) abort();
    }
    return 0;
}


// int main(int argc, char* argv[])
// {
//     if(argc != 3)
//     {
//         Usage(argv[0]);
//         exit(1);
//     }
//     int signum = stoi(argv[1]);
//     pid_t pid = stoi(argv[2]);

//     int n = kill(pid, signum);
//     if(n == -1)
//     {
//         perror("kill");
//         exit(2);
//     }
//     return 0;
// }


// int main()
// {
//     //signal(SIGINT, myhandler);
//     //signal(3, myhandler);
//     //signal(19, myhandler);
    
//     for(int i = 1; i <= 31; i++)
//     {
//         signal(i, myhandler);
//     }
//     while(true)
//     {
//         cout << "I am a crazy process" << getpid() << endl;
//         sleep(1);
//     }
//     return 0;
// }
